﻿
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.UI;
using System.IO;
using Bitis_KeToanThue_Pro_DungChung.Common;
using Bitis_KeToanThue_Pro_DanhMuc.AccessDatabase;

namespace Bitis_KeToanThue_Pro_DanhMuc.Form
{
    public partial class frmDanhMucDoiTuong : Telerik.WinControls.UI.RadForm
    {
        DanhMucDoiTuong dmdt = new DanhMucDoiTuong();
        private int MaKhachHang;
        public frmDanhMucDoiTuong()
        {
            InitializeComponent();
        }
        private void khoitaoluoi()
        {
            var chon = new GridViewCheckBoxColumn();
            chon.HeaderText = "Chọn";
            chon.IsVisible = true;
            chon.Width = 30;
            chon.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(chon);

            var madoituong = new GridViewTextBoxColumn();
            madoituong.HeaderText="Mã KH";
            madoituong.FieldName="MaKH";
            madoituong.Width=80;
            madoituong.IsVisible=true;
            madoituong.ReadOnly=true;
            madoituong.TextAlignment= ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(madoituong);

            var tendoituong = new GridViewTextBoxColumn();
            tendoituong.HeaderText = "Tên đối tượng";
            tendoituong.FieldName="TenKH";
            tendoituong.Width=250;
            tendoituong.IsVisible=true;
            tendoituong.ReadOnly=true;
            tendoituong.TextAlignment=ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(tendoituong);

            var diachi = new GridViewTextBoxColumn();
            diachi.HeaderText = "Địa chỉ";
            diachi.FieldName = "DiaChi";
            diachi.ReadOnly = true;
            diachi.IsVisible = true;
            diachi.Width = 300;
            diachi.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(diachi);


            var sdt = new GridViewTextBoxColumn();
            sdt.HeaderText = "Điện thoại";
            sdt.FieldName = "sdt";
            sdt.ReadOnly = true;
            sdt.IsVisible = true;
            sdt.Width = 100;
            sdt.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(sdt);

            var fax = new GridViewTextBoxColumn();
            fax.HeaderText = "FAX";
            fax.FieldName = "fax";
            fax.ReadOnly = true;
            fax.IsVisible = true;
            fax.Width = 100;
            fax.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(fax);

            var mst = new GridViewTextBoxColumn();
            mst.HeaderText = "Mã số thuế";
            mst.FieldName = "mst";
            mst.ReadOnly = true;
            mst.IsVisible = true;
            mst.Width = 100;
            mst.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(mst);

            var tennh = new GridViewTextBoxColumn();
            tennh.HeaderText = "Tên ngân hàng";
            tennh.FieldName = "TenNH";
            tennh.ReadOnly = true;
            tennh.IsVisible = true;
            tennh.Width = 150;
            tennh.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(tennh);

            var sotk = new GridViewTextBoxColumn();
            sotk.HeaderText = "Số Tài Khoản";
            sotk.FieldName = "SoTk";
            sotk.ReadOnly = true;
            sotk.IsVisible = true;
            sotk.Width = 100;
            sotk.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(sotk);

            var tentk = new GridViewTextBoxColumn();
            tentk.HeaderText = "Tên Tài Khoản";
            tentk.FieldName = "TenTK";
            tentk.ReadOnly = true;
            tentk.IsVisible = true;
            tentk.Width = 150;
            tentk.TextAlignment = ContentAlignment.MiddleCenter;
            grvDoiTuong.Columns.Add(tentk);
        }
        private void loadoituong()
        {
            grvDoiTuong.DataSource = dmdt.loaddata();
        }
        private void reset()
        {
            txtTenKH.Text = "";
            txtDiaChi.Text = "";
            txtSDT.Text = "";
            txtFAX.Text = "";
            txtMST.Text = "";
            txtTenNH.Text = "";
            txtTenTK.Text = "";
            txtTKNH.Text = "";
            txtTenKH.Focus();
        }
        private void radButton1_Click(object sender, EventArgs e)
        {
            Close();
        }
        private void frmDanhMucDoiTuong_Load(object sender, EventArgs e)
        {
            khoitaoluoi();
            loadoituong();
        }
        private void btThem_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtTenKH.Text) && !string.IsNullOrEmpty(txtDiaChi.Text) && !string.IsNullOrEmpty(txtSDT.Text))
            {
                if (dmdt.themdoituong(txtTenKH.Text, txtDiaChi.Text, txtSDT.Text, txtFAX.Text, txtMST.Text, txtTenNH.Text, txtTKNH.Text, txtTenTK.Text) == 1)
                {
                    RadMessageBox.Show("Têm đối tượng thành công","thông báo",MessageBoxButtons.OK,RadMessageIcon.Info);
                    reset();
                    loadoituong();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn phải nhập đầy đủ thông tin ", "Thông báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }
        private void grvDoiTuong_Click(object sender, EventArgs e)
        {
            UpdatePanelInfo(this.grvDoiTuong.CurrentRow);
        }
        private void UpdatePanelInfo(GridViewRowInfo currentRow)
        {
            if (currentRow != null && !(currentRow is GridViewNewRowInfo))
            {
                txtTenKH.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["TenKH"].Value);
                txtDiaChi.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["DiaChi"].Value);
                txtSDT.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["SDT"].Value);
                txtFAX.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["FAX"].Value);
                txtMST.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["MST"].Value);
                txtTenNH.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["TenNH"].Value);
                txtTKNH.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["SoTK"].Value);
                txtTenTK.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["TenTK"].Value);
                MaKhachHang =int.Parse(ClassXuLyChung.GetSafeString(currentRow.Cells["MaKH"].Value).ToString());
            }
            else
            {
                reset();
            }
        }
        private void txtTimKiem_TextChanged(object sender, EventArgs e)
        {
            ClassXuLyChung.tuychontimkiemtrenluoi(txtTimKiem, grvDoiTuong, 1, 0);
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtTenKH.Text) && !string.IsNullOrEmpty(txtDiaChi.Text) && !string.IsNullOrEmpty(txtSDT.Text))
            {
                if (dmdt.suadoituong(txtTenKH.Text, txtDiaChi.Text, txtSDT.Text, txtFAX.Text, txtMST.Text, txtTenNH.Text, txtTKNH.Text, txtTenTK.Text,MaKhachHang) == 1)
                RadMessageBox.Show("Cập nhật thành công", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
                reset();
                loadoituong();
            }
            else
            {
                RadMessageBox.Show("Bạn phải nhập đầy đủ thông tin ", "Thông báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }

        private void btSoanLai_Click(object sender, EventArgs e)
        {
            reset();
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            DialogResult thongbao = RadMessageBox.Show("Bạn có chắc muốn xóa đơn vị này không ? ", "Thông báo", MessageBoxButtons.YesNo, RadMessageIcon.Info);
            if (thongbao == DialogResult.Yes)
            {
                for (int i = 0; i < grvDoiTuong.Rows.Count; i++)
                {
                    if (grvDoiTuong.Rows[i].Cells[0].Value != null)
                    {
                        bool ischecked = (bool)grvDoiTuong.Rows[i].Cells[0].Value;
                        if (ischecked == true)
                        {
                            dmdt.xoadoituong(MaKhachHang);
                        }
                    }
                }
                RadMessageBox.Show("Xóa Thành Công ", "Thông Báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
                reset();
                loadoituong();
            }
        }

        private void grvDoiTuong_CellClick(object sender, GridViewCellEventArgs e)
        {
            UpdatePanelInfo(this.grvDoiTuong.CurrentRow);
        }
    }
}
